#ifndef  __APPCONFIG_H__
#define __APPCONFIG_H__

#include <rtthread.h>
#include <rtdevice.h>
#define HW_VERSION           2//硬件版本1老版本硬件，2为新版本硬件
#define MAIL_CACHE_NAME      "/RESEND.dat"//缓存文件
#define SENSOR_FILE_NAME     "/SENSOR.CFG"//传感器配置
#define SENSOR_BFILE_NAME    "/SENSOR.BAT"//备份文件
#define APPCNF_FILE_NAME     "/APP.CFG"//应用配置WIFI等配置
#define SENSOR_CMD_FILE      "/Scmd.dat"//传感器命令文件
#define SENSOR_CMD_FILE_BAT  "/Scmd.BAT"//备份文件

#if(HW_VERSION == 2)
#define APP_VER_SHOW         "V2.2.03"//V2版本硬件,软件版本号,用于显示
#define APP_VERSION          "V2.2.01"//V2版本硬件,软件版本号,用于控制迭代升级
#define APP_UPDATE_URL       "http://wangzhouwang.xicp.net/shuCaiYi/V2/shuCaiYi"APP_VERSION".rbl"
#define CFG_DOWN_URL         "http://wangzhouwang.xicp.net/shuCaiYi/CFG/HN_v2/%d.CFG"      //传感器配置下载链接
#else 
#define APP_VERSION          "V2.0.35"//V1版本硬件，软件版本号
#define APP_UPDATE_URL       "http://wangzhouwang.xicp.net/shuCaiYi/V2/shuCaiYi"APP_VERSION".rbl"
#define CFG_DOWN_URL         "http://wangzhouwang.xicp.net/shuCaiYi/CFG/HN_v2/%d.CFG"      //传感器配置下载链接
#endif 

#if 0
#define SERVER_URL_STR     "wangzhouwang.xicp.net"
#define SERVER_URL_PORT    40619
#else
#define SERVER_URL_STR     "iot.henengsoft.com"
#define SERVER_URL_PORT    25085
//#define MQTT_URL_STR       "wangzhouwang.xicp.net"
//#define MQTT_PORT_STR      "56535"
#endif

#define FS_MIN_FREE_SIZE    (128*1024)

//#define USING_HSE_FUN       //使用外部时钟功能

#define HJ212_ST_VALUE       21      //环境212协议的ST参数

#define LAN_UART_NAME        "uart6" //有线网络设备名字
#define MAX485_UART_NAME     "uart5"
#define SEND_MAIL_MAX_NUM    3600

#define TOUCH_SLEEP_VALUE    8000   //触摸睡眠功能

#define NET_RX_MSG_OUTTIME   30    //接收报文超时 

#define SENSOR_STR_MAX_LEN   26     //传感器名字和编码最大长度
#define MY_SENSOR_MAX_NUM    32     //最大传感器数量，mbconfig.h里面要同步改
#define MY_SENSOR_ERR_MAX    16     //传感器最大错误次数
#define MY_SENSOR_ERR_RBOOT  30   //重新读取传感器的次数阈值
#define MY_SENSOR_CMD_NUM    (MY_SENSOR_MAX_NUM*2)//传感器命令输出总数

#define TOUCH_SAVE_FALG      0XAC   //触摸屏幕校准标记

#define DATA_UPDATE_CYC      60     //默认更新周期

////////////////////////////////////debug信息////////////////////////////////////////
//#define APP_DEBU_MX485    //打开485调试信息

/////////////////////////////////功能调试////////////////////////////////////////////
//#define REMOVE_WAIT_DATE    //去掉等待校准时间功能

////////////////////////////////ui///////////////////////////////////////////////////
#define USER_PW_OUTTIME    100   //用户密码超时时间
#define USER_PW_MAX_LEN    32   //用户密码最大长度
#define USER_PW_DEFAULT    "88888888"//默认密码

#define UI_CHAN_SPEED      0
#define UI_CHAN_DELAY      0
#define MENU_WIDTH_VALUE	 160    //菜单宽度
#define MENU_HIGHT_VALUE	 50     //菜单高度
#define MENU_WIN_BG_COLOUR lv_color_hex(25 * 256 * 256 + 3 * 256 + 245)//窗口背景颜色
#define MENU_BG_COLOUR  	 lv_color_hex(81 * 256 * 256 + 67 * 256 + 67)//菜单背景
#define MENU_TEXT_COLOUR   lv_color_hex(0 * 256 * 256 + 0 * 256 + 0)//字体颜色

#define ADC_4mA_mV         640.6   //4mA时候的测量电压
#define ADC_20mA_mV        2988.0  //20mA时候的测量电压
#define ADC_mA_LOW         4.0
#define ADC_mA_HIGH				 20.0

#define MBUS2_CMD_SIZE     8    //max485第二个口的命令字节数

#define ADC_V_RANG         (5)

#define USING_RAND_FIX     //使用随机修复功能，该功能会在测量值上按照配置随机数范围叠加一个随机值

#define CENTER_MOTORA_SPEED 85
#define CENTER_MOTORB_SPEED 85

/*************************透传网卡配置*************************************/
#define AT_DEVICE_USING_USRTCP232
#define AT_DEVICE_USING_SAMPLE
#define USRTCP_SAMPLE_CLIENT_NAME    "uart4"
#define USRTCP_SAMPLE_RECV_BUFF_LEN  (512)


/************************网卡名称*******************************************/
#define NETDEV_4G_DEVICE_NAME        "air720"
#define NETDEV_LAN_DEVICE_NAME       "LAN0"
#define NETDEV_WIFI_DEVICE_NAME      "Wlan0"

#define USING_MQTT_HJ212              //使用hj212协议用mqtt方式
#define NETDEV_RESTART_MAX            2000//网卡最大重启数量


//#define USING_TEST_MODE           //开启测试模式
#ifndef USING_TEST_MODE
#define MQTT_URL_STR              "192.168.10.146"
#define MQTT_PORT_STR             "1883"
#define MQTT_ACCOUNT_STR          "airboxClient" 
#define MQTT_PW_STR               "hn28099668"
#define MQTT_PUBLISH_STR          "server/airport/electricalControl/send"
#define MQTT_SUBSCRIBE_STR        "server/airport/electricalControl/recv"
#define MQTT_DEV1_PUBLISH_STR     "server/airport/teleswitch/send"
#define MQTT_DEV1_SUBSCRIBE_STR   "server/airport/teleswitch/recv"
#define DEVINFO_SAVE_FLAG         0X1239 //设备信息保存标记

#else
#define MQTT_URL_STR              "192.168.1.132"
#define MQTT_PORT_STR             "1883"
#define MQTT_ACCOUNT_STR          "airboxClient" 
#define MQTT_PW_STR               "hn28099668"
#define MQTT_PUBLISH_STR          "server/airport/electricalControl/send"
#define MQTT_SUBSCRIBE_STR        "server/airport/electricalControl/recv"
#define MQTT_DEV1_PUBLISH_STR     "server/airport/teleswitch/send"
#define MQTT_DEV1_SUBSCRIBE_STR   "server/airport/teleswitch/recv"
#define DEVINFO_SAVE_FLAG         0X1237 //设备信息保存标记


#define USING_YURE_PWM            //使用预热功能

#endif

#endif

